Potential fix for code scanning alert no. 13: Inefficient regular expression#1614
Merged
priyankarpal merged 2 commits intomainfrom Oct 6, 2025
Merged
Potential fix for code scanning alert no. 13: Inefficient regular expression#1614priyankarpal merged 2 commits intomainfrom
priyankarpal merged 2 commits intomainfrom
Conversation
…ression Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Priyankar Pal <88102392+priyankarpal@users.noreply.github.com>
✅ Deploy Preview for reactplayio ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Hey! contributor, thank you for opening a Pull Request 🎉.
@reactplay/maintainers will review your submission soon and give you helpful feedback.
If you're interested in continuing your contributions to open source and want to be a part of a welcoming and fantastic community, we invite you to join our ReactPlay Discord Community.
Show your support by starring ⭐ this repository. Thank you and we appreciate your contribution to open source!
Stale Marking : After 30 days of inactivity this issue/PR will be marked as stale issue/PR and it will be closed and locked in 7 days if no further activity occurs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Potential fix for https://github.com/reactplay/react-play/security/code-scanning/13
The inefficient regular expression should be rewritten to avoid ambiguity in the repetition. The most problematic part is
[0-9]+inside a repeated group followed by an optional operator. This can be refactored so that each "term" is clearly defined: a sequence of digits, possibly with decimal points, followed by an operator. We can change this to:(?:[0-9]+[-+*/])*[0-9]*, or even better, use a non-greedy form to prevent ambiguity, or ensure the "operator" always follows a number, preventing ambiguous matches. A common pattern for simple calculator expressions is([0-9]+(\.[0-9]+)?([-+*/][0-9]+(\.[0-9]+)?]*)?), but to minimize disruption and preserve original logic, use/^(?:[0-9]+[-+*/])*[0-9]*$/.Steps:
/^(?:[0-9]+[-+*/]?)*[0-9]*$/with/^(?:[0-9]+[-+*/])*[0-9]*$/. This removes the ambiguity by ensuring the operator is always present between numbers, matching sequences like12+34*56.Suggested fixes powered by Copilot Autofix. Review carefully before merging.